
/**
 * 后端接口：获取权限申请列表（底层接口）
 * 作用：实际向后端发起请求获取权限申请数据
 * 参数：
 *   status - 筛选状态
 * 返回：权限申请数组
 */
export async function apiGetPermissionApplications(status) {
  // 实际实现时调用后端API
  // 示例：
  // return await axios.get('/api/admin/permission-applications', {
  //   params: { status }
  // });

  // 模拟数据
  return [
    {
      id: 1,
      applicantName: '张三',
      applicantPhone: '13800138000',
      applicantAddress: '1号楼3单元501',
      newUserName: '李四',
      newUserPhone: '13900139000',
      relationship: '家属',
      applyTime: new Date('2025-10-20').getTime(),
      status: 'pending',
      handleTime: null,
      rejectReason: '',
    },
    {
      id: 2,
      applicantName: '王五',
      applicantPhone: '13700137000',
      applicantAddress: '2号楼1单元202',
      newUserName: '赵六',
      newUserPhone: '13600136000',
      relationship: '租客',
      applyTime: new Date('2025-10-18').getTime(),
      status: 'approved',
      handleTime: new Date('2025-10-19').getTime(),
      rejectReason: '',
    },
    {
      id: 3,
      applicantName: '钱七',
      applicantPhone: '13500135000',
      applicantAddress: '3号楼2单元301',
      newUserName: '孙八',
      newUserPhone: '13400134000',
      relationship: '同事',
      applyTime: new Date('2025-10-15').getTime(),
      status: 'rejected',
      handleTime: new Date('2025-10-16').getTime(),
      rejectReason: '不符合新增用户条件',
    },
  ]
}

/**
 * 后端接口：通过权限申请（底层接口）
 * 作用：实际向后端发起请求处理权限申请通过
 * 参数：
 *   id - 申请ID
 * 返回：操作结果
 */
export async function apiApprovePermission(id: number) {
  // 实际实现时调用后端API
  // 示例：
  // return await axios.post(`/api/admin/permission-applications/${id}/approve`);
}

/**
 * 后端接口：拒绝权限申请（底层接口）
 * 作用：实际向后端发起请求处理权限申请拒绝
 * 参数：
 *   id - 申请ID
 *   reason - 拒绝原因
 * 返回：操作结果
 */
export async function apiRejectPermission(id: number, reason: string) {
  // 实际实现时调用后端API
  // 示例：
  // return await axios.post(`/api/admin/permission-applications/${id}/reject`, {
  //   reason
  // });
}

/**
 * 后端接口：发布通知（底层接口）
 * 作用：实际向后端发起请求发布新通知（默认发送给所有用户）
 * 参数：
 *   notification - 通知对象，包含标题、内容、默认范围（all）
 * 返回：操作结果
 */
export async function apiPublishNotification(notification) {
  // 实际实现时调用后端API
  // 示例：
  // return await axios.post('/api/admin/notifications', notification);
}

/**
 * 后端接口：获取历史通知（底层接口）
 * 作用：实际向后端发起请求获取历史通知数据
 * 参数：无
 * 返回：通知数组
 */
export async function apiGetHistoryNotifications() {
  // 实际实现时调用后端API
  // 示例：
  // return await axios.get('/api/admin/notifications');

  // 模拟数据
  return [
    {
      id: 1,
      title: '小区门禁系统升级通知',
      content:
        '各位业主您好，本小区将于10月30日进行门禁系统升级，升级期间可能影响正常通行，敬请谅解。升级时间：凌晨2:00-4:00，预计2小时完成。',
      publishTime: new Date('2025-10-25').getTime(),
    },
    {
      id: 2,
      title: '垃圾分类宣传活动通知',
      content:
        '为响应城市垃圾分类政策，本小区将于11月5日上午9点在小区广场举办垃圾分类宣传活动，现场将发放分类垃圾桶和宣传手册，欢迎各位业主参加。',
      publishTime: new Date('2025-10-20').getTime(),
    },
  ]
}
